package com.zret.oasys.service.impl;

import java.util.List;

import com.zret.oasys.dbtools.PageData;
import com.zret.oasys.entity.Emp;
import com.zret.oasys.entity.EmpDeptPosition;
import com.zret.oasys.service.EmpService;

public class EmpServiceImpl implements EmpService {

	@Override
	// Service通过ID查找员工的方法
	public Emp getEmpsById(int empid) {
		Emp emp = empDao.getEmpsById(empid);
		return emp;
	}

	@Override
	// 查找所有员工
	public List<Emp> getEmps() {
		List<Emp> list = empDao.getEmps();
		return list;
	}

	@Override
	// 删除员工的方法
	public boolean deleteEmps(int empid) {
		boolean flag = empDao.deleteEmps(empid);
		return flag;
	}

	@Override
	// 通过入职时间区间查找员工
	public List<Emp> getEmpsByTime(String startTime, String endTime) {
		List<Emp> list = empDao.getEmpsByTime(startTime, endTime);
		return list;
	}

	@Override
	// 添加员工的方法
	public boolean addEmps(Emp emp) {
		boolean flag = false;
		// 检查用户名重复
		Emp emptest = empDao.getEmpsByUsername(emp.getUsername());
		if (emptest != null) {
			// 如果重复了返回false
			return false;
		} else {
			// 如果不重复则正确添加员工
			flag = empDao.addEmps(emp);
		}
		return flag;
	}

	@Override
	// 修改员工
	public boolean updateEmp(Emp emp) {
		boolean flag = empDao.updateEmp(emp);
		return flag;
	}

	@Override
	// 通过员工id名字查找员工
	public List<Emp> getEmpsByName(String name) {
		List<Emp> list = empDao.getEmpsByName(name);
		return list;
	}

	@Override
	// 通过username名字查找员工
	public Emp getEmpsByUsername(String username) {
		Emp emp =empDao.getEmpsByUsername(username);		
		return emp;
	}
	// 所有员工的分页查询
	@Override
	public PageData<Emp> getEmpsByPage(int page, int pageSize) {
		PageData<Emp> pd =empDao.getEmpsByPage(page, pageSize);
		return pd;
	}

	@Override
	public PageData<Emp> getEmpsByPage(int page, int pageSize, String empname) {
		PageData<Emp> pd=empDao.getEmpsByPage(page, pageSize, empname);
		return pd;
	}

	@Override
	public List<Emp> GetLogin(String username, String password) {
		// TODO Auto-generated method stub
		return empDao.GetLogin(username, password);
	}

	/**
	 * 更新用户密码
	 */
	@Override
	public boolean changeUserPwd(String username, String newpwd) {
		// TODO Auto-generated method stub
		if(username!=null && newpwd!=null) {
			boolean flag = empDao.changePwd(username, newpwd);
			return flag;
		}
		return false;
	}
   //多表查询
	@Override
	public PageData<EmpDeptPosition> getEmpDeptPositionByPage(int page, int pageSize,String key) {
		// TODO Auto-generated method stub
		return empDao.getEmpDeptPositionByPage(page, pageSize,key);
	}

	@Override
	public List<Emp> getEmpManager(int empid) {
		// TODO Auto-generated method stub
		return empDao.getEmpManager(empid);
	}


}
